An Efficient Decision Procedure for the Theory of Fixed-Sized Bit-Vectors
نویسندگان
چکیده
In this paper we describe a decision procedure for the core theory of xed-sized bit-vectors with extraction and composition than can readily be integrated into Shostak's procedure for deciding combinations of theories. Inputs to the solver are unquantiied bit-vector equations t = u and the algorithm returns true if t = u is valid in the bit-vector theory, false if t = u is unsatissable, and a system of solved equations otherwise. The time complexity of the solver is O(j t j log n + n 2), where t is the length of the bit-vector term t and n denotes the number of bits on either side of the equation. Then, the solver for the core bit-vector theory is extended to handle other bit-vector operations like bitwise logical operations, shifting, and arithmetic interpretations of bit-vectors. We develop a BDD-like data-structure called bit-vector BDDs to represent bit-vectors, various operations on bit-vectors, and a solver on bit-vector BDDs. The overall procedure has been integrated with the decision procedures of the PVS prover. The implementation has been tested with typical lemmas from the domain of microprocessor veriication. The implementation has also been applied to proofs found in the veriication of a commercial microprocessor. By using our decision procedure for bit-vectors we have simpliied a number of proofs by eliminating manual proof steps that were previously necessary for reasoning about bit-vectors.
منابع مشابه
Efficient Solving of the Satisfiability Modulo Bit-Vectors Problem and Some Extensions to SMT
Decision procedures for expressive logics such as linear arithmetic, bitvectors, uninterpreted functions, arrays or combinations of theories are becoming increasingly important in various areas of hardware and software development and verification such as test pattern generation, equivalence checking, assertion based verification and model checking. In particular, the need for bit-precise reaso...
متن کاملDeciding Bit-Vector Formulas with mcSAT
The Model-Constructing Satisfiability Calculus (mcSAT) is a recently proposed generalization of propositional DPLL/CDCL for reasoning modulo theories. In contrast to most DPLL(T)-based SMT solvers, which carry out conflict-driven learning only on the propositional level, mcSAT calculi can also synthesise new theory literals during learning, resulting in a simple yet very flexible framework for ...
متن کاملDeciding Fixed and Non--xed Size Bit-vectors
We develop a new, eecient, and compact decision procedure for xed size bit-vectors with bit-wise boolean operations. The algorithm is designed such that it can also decide some common cases of parameterized (non-xed) size. To handle even more parameterized cases for bit-vectors without bit-wise boolean operations we devise a uniication based algorithm which invokes the rst algorithm symbolicall...
متن کاملEfficient SMT solving for bit vectors and the extensional theory of arrays
The Satisfiability Modulo Theories (SMT) problem is to decide the satisfiability of a formula expressed in a (decidable) first-order background theory. In this thesis we address the problem of designing, implementing, testing, and debugging an efficient SMT solver for the quantifier-free extensional theory of arrays, combined with bit-vectors. This thesis consists of three main parts. After an ...
متن کاملAn Eecient Decision Procedure for a Theory of Fixed-sized Bitvectors with Composition and Extraction
The theory of xed-sized bitvectors with composition and extraction has been shown to be useful in the realm of hardware veriication, and in this paper we develop an eecient algorithm for deciding this theory. A proper input is an unquantiied bitvector equation, say t = u, and our algorithm returns true if t = u is valid in the bitvector theory, false if t = u is unsatissable, and a system of so...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997